str1 = "Hello world and python and java and pycharm"

# 1. find()：字符串序列.find(子串, 开始位置下标, 结束位置下标)
# 检测某个子串是否包含在这个字符串中，如果在返回这个子串开始的下标，否则返回-1

print(str1.find('and')) # 12
print(str1.find('and', 15, 30)) # 23
print(str1.find('ands')) # -1，ands 子串不存在

# 2.index()：字符串序列.index(子串, 开始位置下标, 结束位置下标)
# 检测某个子串是否包含在这个字符串中，如果在返回这个子串开始的下标，否则报异常
print(str1.index('and')) # 12
print(str1.index('and', 15, 30)) # 23
# print(str1.index('ands')) # 如果index查找子串不存在，报错

# 3.count()：字符串序列.count(子串, 开始位置下标, 结束位置下标)
# 返回某个子串在字符串中出现的次数
print(str1.count('and')) # 3
print(str1.count('and', 15, 30)) # 1
print(str1.count('ands', 15, 30)) # 0

# rfind()：和 find() 功能相同，但查找方向为右侧开始
print(str1.rfind('and')) # 32
print(str1.rfind('and', 15, 30)) # 23
print(str1.rfind('ands')) # -1，ands 子串不存在

# rindex()：和 index() 功能相同，但查找方向为右侧开始
print(str1.rindex('and')) # 32
print(str1.rindex('and', 15, 30)) # 23
# print(str1.rindex('ands')) # 如果index查找子串不存在，报错